package icu.javacg.storage.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 进入事件表。
 * @TableName entry
 */
@TableName(value ="entry")
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class Entry implements Serializable {
    /**
     * 进入事件在系统中的唯一编号。
     */
    @TableId(value = "entry_id")
    private Integer entryId;

    /**
     * 进入仓库或区域的时间。
     */
    @TableField(value = "entry_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date entryTime;

    /**
     * 进入仓库或区域的物品名称。
     */
    @TableField(value = "item_name")
    private String itemName;

    /**
     * 进入仓库或区域的物品数量。
     */
    @TableField(value = "item_quantity")
    private Integer itemQuantity;

    /**
     * 进入的类型，例如进货、退货、调拨等。
     */
    @TableField(value = "entry_type")
    private String entryType;

    /**
     * 物品所进入的仓库在系统中的唯一编号
     */
    @TableField(value = "warehouse_id")
    private Integer warehouseId;

    /**
     * 物品所进入的区域在系统中的唯一编号
     */
    @TableField(value = "area_id")
    private Integer areaId;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

}